/****
	堡垒马杀鸡

原理:
	本工具实现了一个支持Tunnel的SSH服务器和SSH客户端.
	启动时，先在堡垒机(本地)启动一个SSH服务器.
	然后通过内置的SSH客户端, 创建一个堡垒机和内网测试服的隧道.

	如此, 堡垒机的SSH服务器，就可以通过内网测试服的端口提供服务了.

	接下来的事情就简单了。

	我们只需要在自己的电脑上连接到堡垒机的SSH服务器，
	就可以像在图形堡垒机上自由的浏览线上服务器的数据库了。
*/
package main

import (
	"log"
	"time"
)

func main() {
	//在本地创建一个SSH服务器
	serverReady := make(chan bool)
	go createSshServer("127.0.0.1:2022", serverReady)

	//创建一个SSH客户端，并登录到内测服
	log.Println("登录到内测服")
	sshClient := createSshClient(innerServerAddr, innerServerUser, innerServerPass)
	defer sshClient.Close()

	//等待服务器就绪
	<-serverReady

	go createTunnel(sshClient, "0.0.0.0:2022", "127.0.0.1:2022")

	for {
		log.Println("嘀嗒")
		time.Sleep(time.Minute)
	}
}
